home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / mint / l_0799 / 685 / asmtrans.zoo / asmtrans.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-05  |  2.7 KB  |  91 lines

  1. /* asmtrans translator
  2.    Copyright 1992,1993 Eric R. Smith
  3.  
  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 1, or (at your option)
  7.    any later version.
  8.  
  9.    This program is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.    GNU General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU General Public License
  15.    along with this program; if not, write to the Free Software
  16.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. */
  18.  
  19. #include <string.h>
  20. #include <stdio.h>
  21.  
  22. #define LINSIZ 128
  23.  
  24. #ifdef __STDC__
  25. #define P_(x) x
  26. #else
  27. #define P_(x) ()
  28. #define const
  29. #endif
  30.  
  31. /* are we compiling on an Atari? */
  32. #if defined(atarist) || defined(ATARI)
  33. #define NATIVEATARI 1
  34. #endif
  35.  
  36. #if defined(__STDC__) && !defined(NO_STDLIB)
  37. # include <stdlib.h>
  38. #else
  39. #define size_t int
  40. extern char *malloc();
  41. #endif
  42.  
  43. #define GAS 0
  44. #define ASM 1
  45. #define PUREC 2
  46. extern int syntax;
  47.  
  48. /* this variable should always be 0
  49.  * at the end of translation */
  50. extern int ifstkptr;
  51.  
  52. char *concat P_((char *, char *));
  53. char *concat3 P_((char *, char *, char *));
  54. char *concat4 P_((char *, char *, char *, char *));
  55. char *concat5 P_((char *,char *, char *, char *, char *));
  56. char *concat6 P_((char *,char *,char *, char *, char *, char *));
  57. char *concat8 P_((char *,char *,char *, char *, char *, char *, char *, char *));
  58. char *concat9 P_((char *,char *,char *, char *, char *, char *, char *, char *, char *));
  59. void do_define P_((char *, char *));
  60. void do_ifdef P_((char *));
  61. void do_ifndef P_((char *));
  62. void do_else P_((void));
  63. void do_endif P_((void));
  64. void do_include P_((char *));
  65. void do_initial_defs P_((void));
  66. void yyerror P_((char *));
  67.  
  68. char *wordlookup P_((char *));
  69. char *changesiz P_((char *));
  70. char *changesiz2 P_((char *));
  71. char *fixupword P_((char *));
  72. void emit P_((char *));
  73.  
  74. char *immediate P_((char *));
  75. char *indirect P_((char *));
  76. char *postinc P_((char *));
  77. char *predec P_((char *));
  78. char *indexed P_((char *, char *));
  79. char *sizedop P_((char *, char *));
  80. char *twoindex P_((char *, char *, char *));
  81. char *postindex P_((char *, char *, char *, char *));
  82. char *postindex0 P_((char *));
  83. char *postindex1 P_((char *, char *));
  84. char *preindex P_((char *, char *, char *, char *));
  85. char *bitfield P_((char *, char *, char *));
  86. char *do_ops P_((char *, char *, char *, char *));
  87. char *hexop P_((char *));
  88.  
  89. extern FILE *infile, *outfile;
  90. extern int hidecnt;
  91.